﻿@model IEnumerable<Mindfor.Web.Data.File>
@{
	Layout = null;
	string[] imageExtensions = new string[] { "png", "jpg", "jpeg", "bmp", "gif" };
	Folder folder = ViewBag.Folder;
	int? folderId = folder == null ? null: (int?)folder.Id;
}

<html>
<head>
	<title>Файлы и картинки</title>
	<link rel="stylesheet" type="text/css" href="@Url.Content("~/Modules/System/Content/FilesIndex.less")" />
	<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")"></script>
	<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.plugins.min.js")"></script>
	<script type="text/javascript" src="@Url.Content("~/Scripts/tiny_mce/tiny_mce_popup.js")"></script>
	<script type="text/javascript">
		var ed = tinyMCEPopup.editor;

		$().ready(function () {
			$("#Files .insertThumb").click(function () {
				var li = $(this).parents("li").eq(0);
				var url = li.data("url");
				var urlSmall = li.data("url-small");
				var html = "<a href='" + url + "' class='preview'><img alt='' src='" + urlSmall + "' style='width:150px' /></a>";
				ed.execCommand("mceInsertContent", false, html);
				tinyMCEPopup.close();
				return false;
			});

			$("#Files .insertImage").click(function () {
				var li = $(this).parents("li").eq(0);
				var url = li.data("url");
				var html = "<img alt='' src='" + url + "' />";
				ed.execCommand("mceInsertContent", false, html);
				tinyMCEPopup.close();
				return false;
			});

			$("#Files .insertFile").click(function () {
				var li = $(this).parents("li").eq(0);
				var url = li.data("url");
				var name = li.data("name");
				var html = "<a href='" + url + "'>" + name + "</a>";
				ed.execCommand("mceInsertContent", false, html);
				tinyMCEPopup.close();
				return false;
			});

			$("#Files .delete").click(function () {
				if (!confirm('Вы действительно хотите удалить файл?'))
					return false;

				var t = $(this);
				var li = t.parents("li").eq(0);
				var url = t.prop("href");

				li.block({ message: "Удаляем..." });
				$.ajax({
					url: url,
					type: "POST",
					success: function (data) {
						li.unblock();
						li.remove();
					},
					error: function () {
						li.unblock();
					}
				});
				return false;
			});
		});
	</script>
	<style>
		
	</style>
</head>
<body>
	<div class="title">Загрузить файл</div>
	@using (Html.BeginForm("Upload", null, new { folderId }, FormMethod.Post, new { enctype = "multipart/form-data" }))
	{
		@Html.ValidationSummary()
		<input type="file" name="file" />
		<input type="submit" value="Загрузить" />
	}

	<div class="title">Список файлов и картинок</div>
	<ul id="Files">
		@foreach (var file in Model)
		{
			if (imageExtensions.Contains(file.Extension))
			{
				<li data-id="@file.Id" data-url="@Url.Image(file.Id)" data-url-small="@Url.ImageSmall(file.Id)">
					<img alt="Картинка" src="@Url.ImageSmall(file.Id)" />
					<div class="name">@file.Name.@file.Extension</div>
					<div>
						<a href="@Url.Action("Delete", new { id = file.Id })" class="delete">Удалить</a>
						@if (ViewData.Eval<bool>("ShowInsertLinks"))
						{
							<text> | </text><a href="#" class="insertThumb">Эскиз</a>
							<text> | </text><a href="#" class="insertImage">Большая</a>
						}
					</div>
				</li>
			}
			else
			{
				<li data-id="@file.Id" data-name="@file.Name" data-url="@Url.File(file)">
					<div class="name">@file.Name.@file.Extension</div>
					<div>
						<a href="@Url.Action("Delete", new { id = file.Id })" class="delete">Удалить</a>
						@if (ViewData.Eval<bool>("ShowInsertLinks"))
						{
							<text> | </text><a href="#" class="insertFile">Ссылка</a>
						}
					</div>
				</li>
			}
		}
	</ul>
</body>
</html>